When data copying is performed between storage housings at remote locations, integrity of data written in a copy-source logical unit may be demanded. Hereinafter, a term “logical unit number (LUN)” may also be used to refer to a logical unit having the LUN and data stored in the logical unit. An example of data copying as described above is copying “data that becomes meaningless unless integrity of the entire data at that moment is established”, such as a database.
For example, in backup of a database to a remote location, consider a case in which the database includes data with an update date and time, update data A, and update data B forming a meaningful set of data. When data is simply copied starting from the head of a volume, from the copy-source LUN to a copy-destination LUN, if copying is interrupted due to a line failure or the like, only the update date and time and the update data A may be copied, and the update data B may be left before copying.
At this point in time, the set of data stored in the copy-destination LUN does not keep integrity, and becomes a data group that is meaningless until copying is restarted and completed. In this state, if the copy-source LUN is lost due to a disaster such as an earthquake or fire, a disc failure, or the like, the data is not updated to the latest state or returned to the previous state. That is, the whole set of data is lost. Therefore, a copying method is desired in which integrity is kept in a copy destination even if a copy source becomes incapable of copying due to a disaster, failure, or the like.
Thus, as inter-housing copying to ensure data integrity, a method may be taken in which a buffer is used for copying in an updating order while data integrity is kept.
FIG. 18 is a diagram illustrating an inter-housing copying scheme of related art using buffers.
In a storage system 100 depicted in FIG. 18, memories (not depicted) included in a copy-source housing 200 and a copy-destination housing 300 provide a plurality of buffers 210 and 310, respectively. Copy-source LUNs #1 and #2 of the copy-source housing 200 are copied to copy-destination LUNs #1 and #2 of the copy-destination housing 300, respectively.
In the above-described storage system 100, when the copy-source LUN #1 and the copy-destination LUN #1 are equivalent to each other, and the copy-source LUN #2 and the copy-destination LUN #2 are equivalent to each other, data updated in the copy-source LUNs #1 and #2 are stored in the buffers 210 in an updating order.
The data stored in the buffers 210 is transferred to the copy-destination housing 300 in units of buffer at the moment when the buffers 210 are depleted or a predetermined time elapses. Since data to be copied is stored in each buffer 210 in an updating order, the data is written as a collection of data with integrity in the copy-destination LUNs #1 and #2. Thus, in the copy-destination housing 300, data with integrity is copied.
One sequence from the start to end of copy processing is referred to as a copy session, and the buffers 210 in the copy source and the buffers 310 in the copy destination are respectively provided as many as the number of copy sessions for inter-housing copying.
In the storage system 100 depicted in FIG. 18, the LUNs #1 and #2 of the copy source share a buffer 210, and the LUNs #1 and #2 of the copy destination share a buffer 310. Thus, not only integrity in each LUN but also integrity between the LUN #1 and the LUN #2 may be kept. By setting copying from the copy-source LUN #1 to the copy-destination LUN #1 and copying from the copy-source LUN #2 to the copy-destination LUN #2 together as one copy session, the LUNs in the copy session have integrity in the copy-source housing 200 and the copy-destination housing 300.
FIG. 19 is a diagram illustrating an inter-housing copying scheme of related art using a differential bitmap.
In some cases, copying using buffers may not be available (a halt state) and the data updating order in buffers 210 and 310 may not be ensured, for example, immediately after the start of a copy session, in a case of a line failure, or depletion of the buffers 210 owing to excessive data updates or the like. In this state, data integrity is not ensured in a copy-source housing 200.
To address this, in a known scheme, the buffers 210 are not used in a halt state, and data update locations recorded in the buffers 210 and data update locations until copy session recovery are recorded in a differential bitmap 211.
When the copy session is recovered, as depicted in FIG. 19, the differential bitmap 211 is referred to, and data at updated locations is copied (differential copying) to copy-destination LUNs #1 and #2 until LUNs #1 and #2 of the copy source and the copy destination become equivalent to each other again. In differential copying, the data at updated locations is copied regardless of ordering.
During differential copying, that is, until differential copying is completed, the integrity of the data in a copy-destination housing 300 is not ensured.
Therefore, if the data in the copy-source LUNs #1 and #2 is lost due to a disaster, failure, or the like, only the meaningless data without integrity is left in the copy-destination LUNs #1 and #2, thereby causing a data loss.
FIG. 20 is a diagram illustrating an inter-housing copying scheme of related art using a save area to keep integrity during differential copying.
In a storage system 100 depicted in FIG. 20, a copy-destination housing 300 includes a plurality of save areas 311.
In the copy-destination housing 300, data before update at locations in copy-destination LUNs #1 and #2 to be updated with data transmitted from copy-source LUNs #1 and #2 is saved to the save areas 311 during differential copying. The save areas 311 are formed on, for example, a memory, a parity track, or a spare disc, and continuously retain the data before update until differential copying ends and copy session recovery ends.
Even if the data in the copy-source LUNs #1 and #2 is lost during differential copying due to a disaster, failure, or the like, the data saved in the save areas 311 in the copy-destination housing 300 is written back to the copy-destination LUNs #1 and #2. With this, in the copy-destination housing 300, at least the data with integrity before differential copying is recovered, and a data loss is deterred.
In the above-described storage system 100, in copying from the copy-destination LUNs to the save areas 311 performed in data saving, upon a data update request, data before update in only a requested portion is saved in the save areas. Thus, data copying is performed with a smaller capacity and shorter time compared with copying the entire LUNs. Therefore, as the save areas 311 for retaining data with integrity, those with a certain size are enough for one LUN.
Related techniques are disclosed in, for example, Japanese Laid-open Patent Publication No. 2010-39574 and Japanese Laid-open Patent Publication No. 11-15604.
However, in the storage system 100 of related art as depicted in FIG. 20, if a data update request for data with a capacity larger than the save areas 311 comes to the copy-destination LUNs, the data before update is not able to be saved or retained, and therefore the copy session becomes in an error state.
The higher a data update frequency of the copy-source LUNs is, the more the capacity of the save areas 311 is to be provided.
For example, consider a case in which data update is performed at a frequency with which data transfer between the buffers 210 and 310 becomes too late, causing a halt state, and the copy-source LUNs are continuously updated at a high frequency even during differential copying.
In this case, there may be a possibility of data update on almost an entire area of the copy-source LUNs until differential copying is completed. Therefore, the save areas 311 needs to have a capacity similar to that of the copy-source LUNs. That is, the volume capacity in the copy-destination housing 300 including the save areas 311 may become twice as large as the current volume capacity.
Therefore, in order to keep data integrity in copy sessions among a plurality of housings, the copy-destination housing 300 may have to have the save areas 311 with an enormous capacity (for example, several TB or larger), thereby disadvantageously increasing cost.